<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>购物车</title>
<%@ include file="/pages/common/head.jsp"%>
</head>
<body>
	
	<div id="header">
			<img class="logo_img" alt="" src="static/img/logo.gif" >
			<span class="wel_word">购物车</span>
			<%@ include file="/pages/common/login_success_menu.jsp"%>
	</div>
	
	<div id="main">
		<table>
			<tr>
				<td>商品名称</td>
				<td>数量</td>
				<td>单价</td>
				<td>金额</td>
				<td>操作</td>
			</tr>
			<!--如果购物车为空的情况下-->
			<c:if test="${empty sessionScope.cart.items}">
				<tr>
					<td colspan="5"><a href="index.jsp">购物车空空如也,去购物吧！</a></td>
				</tr>
			</c:if>
			<!---如果购物车不为空的情况下显示的内容-->
			<c:if test="${not empty sessionScope.cart.items}">
				<!--保存到session域中的数据是可以直接读取的,不需要经过Servlet程序-->
				<c:forEach items="${sessionScope.cart.items}" var="entry">
					<tr>
							<%--					这里读取数据需要说明一下,因为循环的数据是Map<Integer , CartItem>,所以在循环获取数据的时候--%>
							<%--					获取key  getKey => key    获取value getValue => value--%>
						<td>${entry.value.name}</td>
						<td>
							<input class="updateCount" type="text" name="count" bookId="${entry.value.id}" value="${entry.value.count}" style="width: 80px;">
						</td>
						<td>${entry.value.price}</td>
						<td>${entry.value.totalPrice}</td>
						<td><a class="deleteItem" href="cartServlet?action=deleteItem&id=${entry.value.id}">删除</a></td>
					</tr>
				</c:forEach>
		</table>
		<div class="cart_info">
			<span class="cart_span">购物车中共有<span class="b_count">${sessionScope.cart.totalCount}</span>件商品</span>
			<span class="cart_span">总金额<span class="b_price">${sessionScope.cart.totalPrice}</span>元</span>
			<span class="cart_span"><a id="clearCart" href="cartServlet?action=clear">清空购物车</a></span>
			<span class="cart_span"><a href="orderServlet?action=createOrder">去结账</a></span>
		</div>
		</c:if>
	</div>
	
	<%@include file="/pages/common/footer.jsp"%>

	<script type="text/javascript">
		$(function (){
			//给【删除】绑定单击事件
			$("a.deleteItem").click(function(){
				return confirm("你确定要删除【"+$(this).parent().parent().find("td:first").text()+"】吗?");
			});

			//清空购物车
			$("#clearCart").click(function (){
				return confirm("确定要清空购物车吗?");
			});


			//这里需要说明的是使用 blur 无论内容是不是发生改变,都会触发此事件
			//使用change的时候,只有当内容发生变化并且失去焦点的时候才会触发此事件
			//给输入框绑定onchange事件内容发生的时候改变事件
			$(".updateCount").change(function (){
				//获取商品名称
				var name = $(this).parent().parent().find("td:first").text();
				var count = $(this).val();
				var id = $(this).attr("bookId");
				if(confirm("你确定要将【"+name+"】商品数量修改为:" + count + "吗?")){
					//确定是要进行修改了
					//发起请求.给服务器保存修改
					location.href = "${basePath}cartServlet?action=updateCount&count="+count+"&id="+id;
				}else{
					//如果取消修改,那么就把原来的数据进行还原
					//使用$(this).defaultValue 可以获取默认的数据,初始化时候的数据
					// $(this).val(this.defaultValue);
					this.value = this.defaultValue;
				}
			});

		})
	</script>
</body>
</html>